import Vue from 'vue'
import App from './App.vue'
import store from './store'
import router from './router'
import './plugins/element.js'
import axios from 'axios'
import qs from 'qs'
// 导入全局样式
import './assets/global.css'

import mavonEditor from 'mavon-editor'
Vue.use(mavonEditor)
// 配置请求根路径
axios.defaults.baseURL = 'http://blog.chestnut0.top/'
// 设置axios为form-data
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'
axios.defaults.headers.get['Content-Type'] = 'application/x-www-form-urlencoded'
// 实例对象
const instance = axios.create({
  timeout: 6000,
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded'
  }
})

// 请求拦截器
instance.interceptors.request.use(
  config => {
    config.data = qs.stringify(config.data) // 转为formdata数据格式
    return config
  },
  error => Promise.error(error)
)
// axios请求拦截器
// 在request 拦截器中 展示进度条NProgress.start()
axios.interceptors.request.use(config => {
  // config.headers 就是那个请求头字段
  // 为请求头对象，调价Token验证的Authorization字段
  config.headers.Authorization = window.sessionStorage.getItem('token')
  //   console.log(config)
  config.data = qs.stringify(config.data) // 转为formdata数据格式
  // 在最后必须return config
  return config
})
Vue.config.productionTip = false
Vue.prototype.$http = axios
Vue.prototype.$qs = qs
new Vue({
  store,
  router,
  render: h => h(App)
}).$mount('#app')
